// pages/home/home.js
var util = require('../../utils/util');
Page({
  data: {
    //轮播图的图
    clinicPic: [],
    isCollect: false,
    isLogin: false,
    //医生信息
    doctorInfo: [],
    user: {},
    collect: [],
    appoint: [],
    appointTmp:[],
  },
  onShow() {
    //拿本地缓存的用户信息
    let user = wx.getStorageSync('user')
    if (user) {
      this.setData({
        isLogin: true,
        user: user
      })
    } else {
      this.setData({
        isLogin: false,
      })
    }
    //从云数据库拿首页轮播图数据
    wx.cloud.callFunction({
      name: "clinicPic",
      data: {
        action: "find",
      }
    }).then(res => {
      console.log('---获取数据库中的诊所图片成功', res)
      this.setData({
        clinicPic: res.result.data[0].clinicPicHome
      })
      console.log('---获取数据库诊所图片后本地的诊所图片', this.data.clinicPic)
    }).catch(res => {
      console.log('---获取数据库中的诊所图片失败', res)
    })
    //从云数据库获取医师信息
    wx.cloud.callFunction({
      name: "doctorInfo",
      data: {
        action: "find",
      }
    }).then(res => {
      console.log('组件获取数据库医生数据成功', res)
      this.setData({
        doctorInfo: res.result.data
      })
    }).catch(res => {
      console.log('组件获取数据库医生数据失败', res)
    })
    //从云数据库拿收藏信息
    wx.cloud.callFunction({
      name: 'collect',
      data: {
        action: 'findPatient',
        patientAdmin: this.data.user.admin
      }
    }).then(res => {
      console.log('获取收藏信息成功', res)
      //把获取到的收藏信息数组转成只有医生id的对象
      let collectTmp = res.result.data.map(item => {
        return item.doctorId
      })
      this.setData({
        collect: collectTmp
      })
      console.log('获取云数据后本地的收藏信息', this.data.collect)
    }).catch(res => {
      console.log('获取收藏信息失败', res)
    })
    //从云数据库拿预约信息
    wx.cloud.callFunction({
      name: 'appoint',
      data: {
        action: 'findPatientShow',
        patientAdmin: this.data.user.admin,
        appointDay: util.formatTime(new Date()),
        isOver:false,
        isPassed:false
      }
    }).then(res => {
      console.log('获取预约信息成功', res)
      //把获取到的收藏信息数组转成只有医生id的对象
      let appointTmp = res.result.data.map(item => {
        return item.doctorId
      })
      this.setData({
        appoint: res.result.data,
        appointTmp:appointTmp
      })
      console.log('获取云数据后本地的预约信息', this.data.appoint)
      console.log('获取云数据后本地的预约信息医师id', this.data.appointTmp)
    }).catch(res => {
      console.log('获取预约信息失败', res)
    })
  },
  gotoMap() { //点击来所导航 进入地图界面
    wx.navigateTo({
      url: '/pages/map/map',
    })
  },
  onClickAppoint() { //点击“预约挂号按钮”事件
    var user = JSON.stringify(this.data.user) //带对象传值之前要先JSON 
    wx.navigateTo({
      url: '/pages/apoint/apoint?user=' + user,
    })
  },

  goRegister() { //点击“去注册按钮”事件
    wx.navigateTo({
      url: '/pages/regist/regist',
    })
  },
  goLogin() { //点击“去登录按钮”事件
    wx.navigateTo({
      url: '/pages/login/login',
    })
  },
})